package com.ktg.mes.wm.mapper;

import java.util.List;
import com.ktg.mes.wm.domain.vo.ProcurementRecordVO;
import com.ktg.mes.wm.domain.WmItemRecpt;
import com.ktg.mes.wm.domain.WmItemRecptLine;
import com.ktg.mes.wm.domain.tx.ItemRecptTxBean;
import org.apache.ibatis.annotations.Param;

/**
 * 物料入库单Mapper接口
 */
public interface WmItemRecptMapper
{
    /**
     * 查询物料入库单
     * @param recptId 物料入库单主键
     * @return 物料入库单
     */
    WmItemRecpt selectWmItemRecptByRecptId(Long recptId);

    /**
     * 查询物料入库单列表
     * @param wmItemRecpt 物料入库单
     * @return 物料入库单集合
     */
    List<WmItemRecpt> selectWmItemRecptList(WmItemRecpt wmItemRecpt);

    WmItemRecpt checkRecptCodeUnique(WmItemRecpt wmItemRecpt);

    List<ItemRecptTxBean> getTxBeans(Long recptId);

    /**
     * 新增物料入库单
     * @param wmItemRecpt 物料入库单
     */
    int insertWmItemRecpt(WmItemRecpt wmItemRecpt);

    /**
     * 修改物料入库单
     * @param wmItemRecpt 物料入库单
     */
    int updateWmItemRecpt(WmItemRecpt wmItemRecpt);

    /**
     * 批量删除物料入库单
     * @param recptIds 需要删除的数据主键集合
     */
    int deleteWmItemRecptByRecptIds(Long[] recptIds);

    /**
     * 查询所有跟当前供应商相关的物料数据
     * @param vendorId
     */
    List<WmItemRecptLine> getItem(@Param("vendorId") Long vendorId);

    List<ProcurementRecordVO> getProcurementRecord(@Param("vendorId") Long vendorId);
}
